import request from '../utils/request'

// 用户登录
export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

// 用户注册
export function register(data) {
  return request({
    url: '/user/register',
    method: 'post',
    data
  })
}

// 获取用户信息
export function getUserInfo(userId) {
  return request({
    url: '/user/info',
    method: 'get',
    params: { userId }
  })
}

// 更新用户信息
export function updateUserInfo(data) {
  return request({
    url: '/user/info',
    method: 'put',
    data
  })
}

// 记录浏览历史
export function recordBrowseHistory(data) {
  return request({
    url: '/user/browse/record',
    method: 'post',
    data
  })
}

// 更新浏览时长
export function updateBrowseDuration(id, data) {
  return request({
    url: `/user/browse/duration/${id}`,
    method: 'put',
    data
  })
}

// 获取浏览历史列表
export function getBrowseHistoryList(userId, limit = 10) {
  return request({
    url: '/user/browse/list',
    method: 'get',
    params: { userId, limit }
  })
}

// 分页获取浏览历史
export function getBrowseHistoryPage(userId, current = 1, size = 10) {
  return request({
    url: '/user/browse/page',
    method: 'get',
    params: { userId, current, size }
  })
}

// 删除指定浏览记录
export function deleteBrowseHistory(id, userId) {
  return request({
    url: `/user/browse/${id}`,
    method: 'delete',
    params: { userId }
  })
}

// 清空浏览记录
export function clearBrowseHistory(userId) {
  return request({
    url: '/user/browse/clear',
    method: 'delete',
    params: { userId }
  })
}

// 获取用户交互统计数据
export function getUserInteractionStats(userId) {
  return request({
    url: `/user/interaction/stats/${userId}`,
    method: 'get'
  })
}

// 获取用户详细交互统计数据
export function getUserDetailedStats(userId) {
  return request({
    url: `/user/interaction/stats/detail/${userId}`,
    method: 'get'
  })
}

// 获取用户统计数据（浏览、收藏、评分数量）
export function getUserStats(userId) {
  return request({
    url: '/user/stats',
    method: 'get',
    params: { userId }
  })
}

// 获取用户健康信息
export function getUserHealth(userId) {
  return request({
    url: '/user/health',
    method: 'get',
    params: { userId }
  })
}

// 更新用户健康信息
export function updateUserHealth(data) {
  return request({
    url: '/user/health',
    method: 'put',
    data
  })
}

// 获取用户饮食偏好
export function getUserPreferences(userId) {
  return request({
    url: '/user/preferences',
    method: 'get',
    params: { userId }
  })
}

// 更新用户饮食偏好
export function updateUserPreferences(data) {
  return request({
    url: '/user/preferences',
    method: 'put',
    data
  })
}

// 获取用户饮食记录
export function getUserDietRecords(userId, params) {
  return request({
    url: '/user/diet/records',
    method: 'get',
    params: { userId, ...params }
  })
}

// 添加用户饮食记录
export function addUserDietRecord(data) {
  return request({
    url: '/user/diet/record',
    method: 'post',
    data
  })
}

// 删除用户饮食记录
export function deleteUserDietRecord(id, userId) {
  return request({
    url: `/user/diet/record/${id}`,
    method: 'delete',
    params: { userId }
  })
}

// 获取用户过敏信息
export function getUserAllergies(userId) {
  return request({
    url: '/user/allergies',
    method: 'get',
    params: { userId }
  })
}

// 更新用户过敏信息
export function updateUserAllergies(data) {
  return request({
    url: '/user/allergies',
    method: 'put',
    data
  })
}

// 修改用户密码
export function changePassword(data) {
  return request({
    url: '/user/password',
    method: 'put',
    data
  })
}

// 获取用户饮食营养统计
export function getUserNutritionStats(userId, timeRange) {
  return request({
    url: '/user/nutrition/stats',
    method: 'get',
    params: { userId, ...timeRange }
  })
}

// 获取用户特征数据
export function getUserFeatures(userId) {
  return request({
    url: '/user/features',
    method: 'get',
    params: { userId }
  })
}

// 更新用户特征数据
export function updateUserFeatures(data) {
  return request({
    url: '/user/features',
    method: 'put',
    data
  })
} 